دسته بندی ها
10:47 1404/04/27

ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a

مشخصات سوال کننده :
کاربر : Rouhbakhsh     امتیاز کاربر : 1     رتبه کاربر : 152
دسته بندی : جاوا اسکریپت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 491
هوش مصنوعی

پاسخ هوش مصنوعی

برای ارسال پارامتر `prj_Id` در هنگام کلیک بر روی هر لینک ویرایش، می توانید از ویژگی های داده (data attributes) استفاده کنید. به این شکل، هر لینک می تواند دارای مقدار `prj_Id` خاص خودش باشد و سپس این مقدار را به تابع `openWindow` پاس دهید. در اینجا نمونه ای از کد مورد نظر شما آورده شده است:

<a asp-controller="MainProjectKian" asp-action="EditGroup" asp-route-prj_Id="@item.prj_Id"
    title="ویرایش"   onclick="openWindow('@item.prj_Id'); return false;">
    <i class="glyphicon glyphicon-edit"></i>
 </a>

سپس تابع `openWindow` را به صورت زیر تغییر دهید تا `prj_Id` را به آدرس URL اضافه کند:

<script>
   function openWindow(prjId) {
                window.open(
                '/UserArea/MainProjectKian/EditGroup?prj_Id=' + prjId, // آدرس صفحه با پارامتر
                'EditGroup', // نام پنجره
                   'width=400,height=700,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes'
            );
        }
</script>

با این تغییرات، هر وقت کاربری بر روی یک لینک ویرایش کلیک کند، تابع `openWindow` با مقدار `prj_Id` مربوط به آن سطر فراخوانی می شود و صفحه جدید با URL مناسب باز می شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 09:55 1404/04/28

ببینید یه مشکلی توی کدهای شما هست. شما تگ a رو به صورت زیر نوشتید :

<a asp-controller="MainProjectKian" asp-action="EditGroup" asp-route-prj_Id="@item.prj_Id"
    title="ویرایش"   onclick="openWindow(); return false;">
    <i class="glyphicon glyphicon-edit"></i>
 </a>

و در خاصیت های تگ a آدرس رو هم مشخص کردید. یعنی asp-controller و asp-action و حتی پارامتری که ارسال شده. خب دیگه نیازی به تابع onClick ندارید چون در همین لینک آدرس کامل هم مشخص شده. کافیه فقط target = "_blank" رو هم بنویسید تا به صورت یک تب جدید باز بشه.

 

نسخه کامل کد :

<a asp-controller="MainProjectKian" asp-action="EditGroup" asp-route-prj_Id="@item.prj_Id"
     title="ویرایش" onclick="openWindow(); return false;" target="_blank">
     <i class="glyphicon glyphicon-edit"></i>
 </a>

شما یا باید از طریق جاوااسکریپت آدرس رو مشخص کنید یا از طریق خود تگ a . دیگه هر دو تاش نمیشه

ویرایش شده در شنبه 28 تیر 1404 ساعت 09:56:59
به این پاسخ امتیاز بدهید    1
امتیاز: 1635 رتبه: 2
3 نظر
Rouhbakhsh : سلام من کاملا در سوال قبلی یعنی "نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp " سوالم رو طرح کردم و من عرض کرده بودم که نمی خوام از تارگت استفاده کنم چون تارگت کنار تب قبلی باز میشه که من این رو نمی خوام و می خوام در پنجره ی جدیدی باز بشه برروی تب قبلی. با ابعاد دلخواه. من دقیقا می خوام مثل راست کلیک و open new window باشه. جناب بحرانی در سوال قبلی پاسخ فرمودند و دقیقا همان شد ک می خواستم فقط میخوام بدونم چطور باید پارامتر ارسال کنم. بنابراین طرح سوالم درست بود و نباید صورت سوالم تغییر داده میشد چون من با تارگت کاملا آشنایی دارم. من دوباره سوالم رو مطرح می کنم.

امتیاز کاربر : 1   رتبه کاربر : 152   تاریخ ثبت : 02:12 1404/04/28
fateme : بنده با توجه به سوال در همین صفحه پاسخ دادم و اینکه سوالات قبلی چی بوده نمیدونم. شما یا باید در همین صفحه به سوالات قبلیتون اشاره کنید و لینک اونها رو قرار بدید یا همون سوالات رو ادامه بدید. اینجا صدها سوال هست کسی نمیدونه سوال قبلی شما چی بوده.

امتیاز کاربر : 1635   رتبه کاربر : 2   تاریخ ثبت : 02:14 1404/04/28
Rouhbakhsh : درست می فرمایید. باید در متن سوال اشاره به سوال قبلی هم می کردم.

امتیاز کاربر : 1   رتبه کاربر : 152   تاریخ ثبت : 06:00 1404/04/28
ادامه نظرات ...
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود